package ru.compft.web.validator;

import org.springframework.util.StringUtils;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import ru.compft.web.beans.ModuleBean;

/**
 * User: ASUS
 * Date: 09.08.12
 * Time: 21:00
 * Валидатор для модулей
 */
public class ModuleValidator implements Validator {

    public static boolean isValid(ModuleBean moduleBean) {
        if (moduleBean == null) return false;

        // todo правила валидации для полей Модуля
        if (!StringUtils.hasText(moduleBean.getCode())) return false;
        if (!StringUtils.hasText(moduleBean.getName())) return false;
//        if (!StringUtils.hasText(moduleBean.getPath())) return false;

        return true;
    }

    @Override
    public boolean supports(Class<?> clazz) {
        return ModuleBean.class.equals(clazz);
    }

    @Override
    public void validate(Object target, Errors errors) {
        ModuleBean moduleBean = (ModuleBean) target;
        if (moduleBean == null)  errors.addAllErrors(errors);

        // todo правила валидации для полей Модуля
        if (!StringUtils.hasText(moduleBean.getCode())) errors.addAllErrors(errors);
        if (!StringUtils.hasText(moduleBean.getName()))  errors.addAllErrors(errors);
//        if (!StringUtils.hasText(moduleBean.getPath())) return false;

        //To change body of implemented methods use File | Settings | File Templates.
    }
}
